home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d12
/
jaz_clib.arc
/
MEMB.ASM
< prev
next >
Wrap
Assembly Source File
|
1989-04-09
|
1KB
|
56 lines
Comment *
┌────────────────────────────────────────────────────────────────────────────┐
│memb.asm │
│Look at a byte of memory, pass it back to c as the function result. │
│ │
│Synopsis: │
│ int seg = 0x40,ofs = 0x49,screenmode; │
│ │
│ screenmode = memb(seg,ofs); │
└────────────────────────────────────────────────────────────────────────────┘
*
;=============================================================================
; Data
;=============================================================================
DGROUP group _DATA
_DATA segment word public 'DATA'
assume ds:DGROUP
; Your Data goes here . . .
_DATA ends
;=============================================================================
; Code
;=============================================================================
assume cs:_text
_text segment public byte 'code'
PUBLIC _memb
_memb proc near
push bp ; save base of stack
mov bp,sp ; establish stack frame
push ds ; save data and extra segs
push [bp+4] ; get segment address
pop ds
mov bx,[bp+6] ; get offset address
mov bx,[bx]
mov al,bl ; get byte in return parameter
xor ah,ah
pop ds ; restore data and extra segs
mov sp,bp ; restore stack pointer
pop bp ; and base of stack
ret ; return to caller
_memb endp
_text ends
end